home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / vir_real / papers / walser.ant < prev    next >
Encoding:
Text File  |  1993-06-20  |  30.6 KB  |  527 lines

  1.                  A DE FACTO ANTI-STANDARD FOR CYBERSPACE
  2.  
  3.                               Randal Walser
  4.                               Autodesk, Inc.
  5.  
  6.                                A speech at
  7.  
  8.                     Meckler Virtual Reality Conference
  9.                               Fairmont Hotel
  10.                            San Jose, California
  11.                           September 23-25, 1992
  12.  
  13.                   (To appear in conference proceedings)
  14.  
  15.  
  16. INTRODUCTION
  17.  
  18. When I spoke at this conference two years ago I presented a vision of
  19. cyberspace as an emerging new medium and I sketched out some ideas for
  20. what it would take to foster a cyberspace industry.   I compared and
  21. contrasted cyberspace with other media, particularly film, the theatrical
  22. stage, and the computer desktop.   I pointed out that the impediments to
  23. a cyberspace industry were not primarily technical, but rather economic 
  24. and conceptual.   I felt it was vitally important that we understand the
  25. unique qualities of cyberspace, and then apply technology in a way that
  26. would bring out and support those qualities.   The problem, however, was
  27. that we were caught in a classic chicken and egg situation:  we couldn't
  28. understand cyberspace without experiencing it directly, yet we couldn't
  29. do that without building an underlying technology.   I suggested that the
  30. way out of the dilemma was to give up all ideas of creating the ultimate
  31. cyberspace system, and concentrate instead on the development of systems
  32. and tools that would foster widespread experimentation, both with
  33. cyberspace and with alternative cyberspace systems.   Toward the end of
  34. my talk I briefly mentioned Trix, a programming system, under development
  35. at the time, that would give programmers unprecedented power and freedom
  36. to explore alternative evolutionary pathways.
  37.  
  38. Today I'm here to give you an update on Trix, particularly as it relates
  39. to a cyberspace industry.  Time is limited, so I'm not going into great 
  40. detail about what Trix is -- that's really a subject for a more technical
  41. conference.   Rather, today, I want to explain why Trix is; that is, the
  42. philosophy underlying it, because Trix is a system that's specifically 
  43. designed for application in the early stages of the industry.   Before
  44. proceeding, so there is no misunderstanding, let me emphasize that Trix
  45. is not, itself, a cyberspace system.  Nor was Trix ever intended to be
  46. the definitive cyberspace programming language.   Rather, Trix is
  47. intended to be a thoroughly open technology for experimenting with 
  48. cyberspace and devising techniques and languages peculiar to cyberspace. 
  49. Most of all, it was designed to be instrumental in the emergence of a
  50. cyberspace industry.
  51.  
  52. Since Trix was developed at Autodesk, in order to further Autodesk's
  53. initiative in cyberspace, it may seem that I'm using this occasion
  54. inappropriately to promote Autodesk's interests.    While it is true of
  55. course that the motives for developing Trix coincide with Autodesk's
  56. motives with regard to cyberspace, I hope you will see that my comments
  57. bear on the concerns of any company wishing to play a role in the emerging
  58. industry.   In any case, I can assure you that my purpose here is not to
  59. sell Trix.  In fact Autodesk has no immediate plans to market Trix,
  60. though we most certainly plan to market a cyberspace developer's kit that
  61. includes essential cyberspace technology.
  62.  
  63. FOUR YEARS AGO IT SEEMED EASY    
  64.  
  65. Four years ago it seemed easy.  John Walker, the founder of Autodesk, had
  66. just written "Through the Looking Glass," the classic white paper in
  67. which he put cyberspace in historical perspective. The idea of
  68. cyberspace, or of something like it, had been bandied about by hackers
  69. for years.  A score of pioneers had already demonstrated simple spaces,
  70. but they were the avant garde.  To most people, cyberspace was the stuff
  71. of science fiction.  Walker, however, was serious about making it serious
  72. business, and he argued convincingly that cyberspace was not only
  73. possible, but that it was a natural and inevitable progression of
  74. computer technology.  Unlike many other new fields, there were few if any
  75. technical barriers.  The ingredients of cyberspace, both hardware and
  76. software, were well developed and readily available.  It remained simply
  77. to package them in a new way, to support the new medium.  Walker
  78. challenged Autodesk to take the lead in cyberspace, to have the
  79. "... vision to see the opportunity, the courage to break new ground, the
  80. decision to do it, and the will to see it through."   Autodesk accepted
  81. the challenge, formed a project, and demonstrated a working system, based
  82. around ordinary personal computers, in just over four months.
  83.  
  84. I was a member of that first cyberspace project at Autodesk, and I can
  85. tell you those were intense and exciting times.   Our mission, from the
  86. beginning, was to promote the emergence of a cyberspace industry, but at
  87. first we really weren't sure cyberspace would "take."   All doubt was
  88. quickly removed, however, when we demonstrated our prototype at a trade
  89. show in Anaheim, and shortly thereafter at SIGGRAPH in Boston.   The 
  90. response, to put it mildly, was overwhelming.  The crowds were gigantic,
  91. and it seemed they'd never stop coming.   In Boston they swamped our
  92. hotel suite, where we'd intended to give private demonstrations, and they
  93. streamed in and out relentlessly throughout the night and early morning. 
  94. I remember catching about an hour of sleep, on the floor at about five in
  95. the morning, as the crowd milled around me.  There was something about 
  96. cyberspace that absolutely grabbed people, to such an extent it seemed
  97. irrational.   Many compared the experience to a vivid dream.  I'll never
  98. forget one handicapped person, tears streaming down his face, who had
  99. just had a vision of being whole again in a virtual body.  By then, we
  100. knew we'd uncorked something special, and we were certain we had the
  101. makings of an industry.  In six months we had proved Walker right: 
  102. cyberspace was inevitable, doable, and imminent.
  103.  
  104. Or so we thought.  That was more than three years ago.  Today, while a
  105. lot of important and interesting progress has been made by many
  106. individuals and companies, the cyberspace industry is still in an
  107. embryonic stage.  This has been a source of great frustration and
  108. disappointment to many who bet their talents and their money on the quick
  109. emergence of an industry.  It looked so easy.  Yet here we are today,
  110. facing essentially the same problems.   
  111.  
  112. THE WILL TO DO IT
  113.  
  114. I don't pretend to know exactly why things have moved slowly, but I can,
  115. perhaps, offer some words of encouragement.  I find myself coming full
  116. circle at this point.   Over the years I've worked on cyberspace, I've
  117. gone from optimism to enthusiasm to frustration to bewilderment.  Now, as
  118. I consider worldwide developments in the field, slow as they may be, I'm
  119. coming back round to cautious optimism.   If Walker was a bit off in his
  120. timing, time has made him right again:  cyberspace is imminent because
  121. the processes that engender industries have been at work for some time
  122. now, for cyberspace, though we who work in the field are probably too
  123. much a part of those processes to appreciate their cumulative effect.
  124.  
  125. Part of the problem, of course, has been that many of us expected too much
  126. too soon.  Most of us in the field are technologists, so it was natural
  127. that we would look at the technology, see nothing particularly difficult,
  128. and conclude that we only had to put the nuts and bolts in place and the
  129. industry would emerge automatically.  What we overlooked was that
  130. technologies do not make industries.  Technologies are essential, 
  131. certainly, to all industries, but social, economic, and organizational
  132. factors are also critical.
  133.  
  134. Comparing the emergence of cyberspace to the emergence of other
  135. industries, it is clear there's nothing exceptional about a cyberspace
  136. industry, exceptional as cyberspace itself may be.  It took over ten
  137. years for the movie industry to emerge from the time the enabling
  138. technology of filmmaking was invented.  Television ran a similar course
  139. and so, most recently, did the computer desktop, if you start the clock
  140. about the time of Douglas Engelbart's early experiments with mice,
  141. screens, and the augmentation of human intellect (as he put it).
  142.  
  143. As a technologist, I must admit that I'm puzzled by the long time course. 
  144. I tend to think that if we can do the job, technically, and if the stakes
  145. are high enough, as they are with cyberspace, then we can find a way in
  146. short order to put the requisite infrastructure in place.   
  147.  
  148. We knew four years ago, for example, that cyberspace costs too much.  We
  149. knew there could be no industry comparable to the desktop industry until
  150. cyberspace systems cost no more than ordinary personal computers.   But
  151. we figured numerous hardware vendors would see the opportunity and supply
  152. affordable devices, like head-mounted displays, gloves, and trackers,
  153. that support immersion.   Certainly some vendors have seen the 
  154. opportunity, and are trying heroically to lower costs to end users.  But
  155. the ones who are trying are mainly little guys who can't afford to
  156. produce affordable products, while the big guys, who could make
  157. affordable products, are reluctant to try because they don't see the
  158. opportunity.   Now it would be easy to say "Well, that's it, that's what's
  159. holding cyberspace back:  it costs too much."   But again, there's
  160. nothing remarkable in this particular bottleneck, as industries go.  It's
  161. always the case that products are expensive, initially, and then plummet
  162. in cost as the particular industry kicks in and matures.
  163.  
  164. So it seems to me the reason cyberspace is taking so long to emerge
  165. is not due only to the affordability issue, or to technical difficulties
  166. in creating the infrastructure.   Given the will, technologists will
  167. always find a way.  What has been lacking up to this point is the will to
  168. seize the opportunity.  By will, here, I do not mean simply the
  169. willingness to take on the challenge, but rather a motivating belief in a
  170. new way of doing things.  Industries take about ten years to emerge
  171. because it takes about that long for communities of people to change
  172. their minds.    
  173.  
  174. A new industry isn't like a new machine, after all.  A new industry is a
  175. new society, and those who join it must have the will to pull up stakes
  176. and leave an older society (an older industry).   This is not an easy
  177. thing for people to do, and it is naive to expect people to do it without
  178. substantial justification.  In the end, for most people, the
  179. justification is economic.  If you're sure the new way of doing things
  180. will make you money, and change your life for the better, then it's much
  181. easier to leave older ways of doing things behind.   If you aren't sure,
  182. then you'll only make the change as a leap of faith -- and you'll only do
  183. that if you've already changed your mind and embraced a new world view.
  184.  
  185. THE GAME ALWAYS CHANGES
  186.  
  187. OK, so what?  Why does this matter?   It matters because we are all
  188. entrepreneurs, where cyberspace is concerned, and it behooves us to get
  189. some perspective on what we're doing relative to what we want to
  190. achieve.   Unless we understand that cyberspace is fundamentally
  191. different from other media, we will continue to try to build it using old
  192. approaches and techniques.  We also must understand that it is not enough
  193. to build cyberspace technology, nor even to build cyberspaces.  I do
  194. think it's vitally important for cyberspace technology to be driven by
  195. honest attempts to build cyberspaces, but above all we must be explicitly
  196. conscious of the fact that we are building an industry as well as a
  197. medium.  Cyberspace will not emerge, and can have no significant effect in
  198. the world at large, until it becomes profitable.  None of us, in the end,
  199. can make money with cyberspace until all of us can make money with
  200. cyberspace.
  201.  
  202. On the other hand, once we understand that we're seeking to establish a
  203. whole new way of doing things, then the absence of infrastructure can be
  204. appreciated not as problem, holding back the industry, but rather as part
  205. and parcel of a natural progression, and a marvelous opportunity.   The
  206. computer industry today has passed from maturity into a period of
  207. stagnation, with most of the players jostling for elbow room within niches
  208. they staked out years ago.  When John Walker proposed the formation of
  209. Autodesk in 1982, he rallied his cofounders by pointing out that the
  210. game, in the computer industry, had changed.   About a year ago, in a
  211. famous internal Autodesk memo called "The Final Days", Walker pointed out
  212. that the game has changed once again.  I would add that the game always
  213. changes, and it is entrepreneurs who change it.   
  214.  
  215. What I'm suggesting is that cyberspace entrepreneurs have a unique
  216. opportunity, today, to change the rules of the game in the computer
  217. industry.  While I'm skeptical of revolutionary proposals to leapfrog
  218. today's computer industry in a near time frame, for reasons I've just
  219. cited, I do believe that cyberspace entrepreneurs can accelerate the 
  220. evolutionary processes that will eventually lead not just to new rules,
  221. but to a whole new game.
  222.  
  223. The important thing for us to realize, as cyberspace entrepreneurs,  is
  224. that we have a tremendous advantage over those who haven't embraced the
  225. cyberspace paradigm.   While established companies play a defensive game,
  226. protecting their interests in older paradigms, fast-moving entrepreneurs
  227. can redefine the game on their own terms, knocking out the ability of
  228. other companies even to compete.  The danger to the defenders of the
  229. status quo is that they will be blind to the changes the entrepreneurs are
  230. making.  They are likely to end up like the French army fighting the
  231. Blitzkrieg in World War II:   foolishly defending strategically
  232. irrelevant ground while their new competitors  "hit em where they
  233. ain't."   
  234.  
  235. The history of the computer industry is replete with examples of once
  236. successful companies who lost their entrepreneurial spirit and suffered
  237. devastating losses, or went out of business.  DEC, Wang, and Data
  238. General, to cite three recent examples, aren't in trouble because their
  239. products are inferior.   They are in trouble because times have changed
  240. while they stood still, or moved too slowly.   Today the personal computer
  241. reigns, and quality minicomputer products are now irrelevant.  It wasn't
  242. that DEC, Wang, and Data General couldn't have been competitive.  They
  243. simply didn't see the competition coming at them.  
  244.  
  245. DIVERSITY
  246.  
  247. If there is anything that stands out about the computer industry today it
  248. is diversity:  in computers, languages, operating systems, interfaces,
  249. styles, techniques, peripherals, protocols, and even, paradoxically,
  250. standards.   We can view the industry as a Tower of Babel, and try to put
  251. our own standards in place, or we can understand that computers breed
  252. diversity, and bank on it.  Diversity is healthy for business, and
  253. particularly for entrepreneurs seeking to create new markets.   
  254.  
  255. The emerging cyberspace industry is especially amenable to a multicultural
  256. approach because it is based on a radically new paradigm that emphasizes
  257. social interaction, and it represents a distinct break with traditional
  258. ways of using computers.  The industry is so new that opposing camps
  259. have not yet formed, so there is an opportunity to establish a prevailing
  260. multicultural philosophy emphasizing adaptation across camps and
  261. application areas.  To promote diversity, at this early stage, we need do
  262. little more than come out in favor of it, and devise enabling tools that
  263. put a premium on adaptation rather than standardization.
  264.  
  265. INTERACTIVE SYSTEMS ARE BETTER EVOLVED THAN SPECIFIED
  266.  
  267. Trix is one such tool.  It is a programming system for professional
  268. programmers who wish to devise their own cyberspace systems, their way,
  269. with building blocks from disparate sources.   The original motivation
  270. for Trix stemmed from an early design choice we made at Autodesk.  We
  271. wanted to build a cyberspace system, but we weren't sure how to proceed
  272. because none of us had ever built one.  We had plenty of ideas and
  273. theories, to be sure, based on years of experience making other kinds of
  274. software, but no one qualified as an authority.  Worse, none of us had
  275. ever even experienced cyberspace.   Of course, at that time, hardly
  276. anyone had, anywhere.  So we figured we had two basic choices: we could
  277. pretend to be authorities and specify what we thought a cyberspace system
  278. ought to be, or we could be honest about our lack of expertise and take
  279. an evolutionary approach, growing a system, with the help of our
  280. customers, in light of numerous evolutionary experiments.  We were
  281. hackers by nature, so naturally we took the later course.
  282.  
  283. The traditional approach to software engineering is to first specify a
  284. system, in response to a perceived list of requirements, and then to
  285. write code that satisfies the specification.  In many organizations this
  286. requires three different sets of people:  systems analysts, who determine
  287. the requirements; software engineers, who write the specifications and 
  288. implement the code; and quality assurance specialists, often software
  289. engineers themselves, who guarantee that the final code reliably
  290. satisfies the specifications.  These, in fact, are the basic operational
  291. rules of the game in the computer industry today, and they work very well
  292. for the development of products in well understood fields.
  293.  
  294. Unfortunately, the traditional approach is a very poor way to develop an
  295. interactive medium.  There is nothing wrong with specifications written
  296. in response to genuine needs, but theoretical specifications are useless,
  297. at best, and possibly even debilitating, particularly for an intensely
  298. interactive medium like cyberspace.  The point is:  YOU CAN'T KNOW HOW
  299. SOMETHING WILL FEEL WITHOUT FEELING IT.  You can imagine, but that's to 
  300. say you can hold a theory of how it will feel.  In the first phase of the
  301. cyberspace project at Autodesk we knew that any specifications we wrote
  302. would be purely theoretical, because they could be neither motivated nor
  303. informed by our own experiences in cyberspace.   In other words, we
  304. didn't believe we could do a good job of designing and specifying a
  305. cyberspace system, but we did think we could grow an effective one.
  306.  
  307. MOTIVATION FOR TRIX
  308.  
  309. Of course, to say that a system grows is to say it changes a lot.  
  310. Anticipating this, we also made an early commitment to an object-oriented
  311. software paradigm.  We envisioned our evolving cyberspace system to be a
  312. modular collection of simple components that could be easily plugged in
  313. or pulled out.  For practical reasons, which I'll come back to 
  314. momentarily, we decided to grow the system in C++.  This proved to be a
  315. very good choice, but it had one major drawback.  Since we wanted to
  316. explore many evolutionary pathways, in order to converge on the "fittest"
  317. code, we needed to write and try out a lot of alternatives.   Most
  318. implementations of C++ aren't good for this purpose because they are
  319. compiled languages, and compilation takes a lot of time, particularly
  320. when you're making a lot of small changes and submitting them, over and
  321. over again, to a compiler.  We wanted the advantages of C++, in other
  322. words, but we also needed interactivity.  Furthermore, we needed a way
  323. to make our system programmable by end users, but without requiring them
  324. to purchase a compiler from a separate vendor.
  325.  
  326. So Trix was originally conceived as a way to provide programmability to
  327. end users of our evolving cyberspace system.   Again, I won't go into
  328. detail about how Trix is implemented, because I want to focus on its
  329. origins and purpose, which was to promote and enable experimentation
  330. with cyberspace, in order to further its evolution.  Trix is fundamental
  331. to that purpose because it gives programmers unparalleled power to devise
  332. their own systems of expression and interaction -- to develop their own
  333. evolutionary pathways, in other words, in search of the very best ways to
  334. implement cyberspace.  This is good for an emerging industry because it
  335. fosters experimentation and competition, which promotes excellence.
  336.  
  337. PROGRAMMABILITY
  338.  
  339. To be accurate, the power of Trix to foster evolution is really due to
  340. Forth, one of the languages underlying it.  The reason for this has been
  341. explained beautifully by John Walker, who created Atlas, the
  342. implementation of Forth out of which Trix evolved.  I don't think I can
  343. improve upon Walker's explanation, so I'll quote at length from his 
  344. document on Atlas, written in February of 1990.
  345.  
  346. He sets the stage by mentioning that it was "Autodesk's strategy for
  347. AutoCAD from inception that it should be an open, extensible system."  
  348. "Today," he says, "virtually every industry analyst agrees that AutoCAD's
  349. open architecture was, more than any other single aspect of its design,
  350. responsible for its success and the success Autodesk has experienced."  
  351. Despite this fact, Autodesk habitually produces programs that are closed,
  352. that admit "no extensions without our adding to [their] source code."   
  353.  
  354. Why is this so, considering that Autodesk does in fact offer an extensible
  355. interpreter, AutoLisp?   The reasons, Walker says, are that 1) interpreters
  356. like AutoLisp are intrinsically "slow, slow, slow," and 2) writing
  357. an open program, using a traditional compiled language, is
  358. inherently difficult.   Walker presents Atlas as an alternative that is 
  359. much smaller, faster, more fundamentally extensible, and more portable
  360. (because it carries its own text-based i/o facilities and can easily be
  361. embedded in compiled code, regardless of operating paradigm).  In
  362. concluding the Atlas document, Walker says
  363.  
  364.     Everything should be programmable.  Everything!  I have come
  365.     to the conclusion that to write almost any program in a
  366.     closed manner is a mistake that invites the expenditure of
  367.     uncounted hours "enhancing" it over its life cycle. Further
  368.     tweaks, "features," and "fixes" often result in a product
  369.     so massive and incomprehensible that it becomes
  370.     unlearnable, unmaintainable, and eventually unusable.
  371.  
  372.     Far better to invest the effort up front to create a product
  373.     flexible enough to be adapted at will, by its users, to
  374.     [meet] their immediate needs.  If the product is
  375.     programmable in a portable, open form, user extensions can
  376.     be exchanged, compared, reviewed by the product developer,
  377.     and eventually incorporated into the mainstream product.
  378.  
  379.     It is far, far better to have thousands of creative users
  380.     expanding the scope of one's product in ways the original
  381.     developers didn't anticipate ... than it is to have
  382.     thousands of frustrated users writing up wish list requests
  383.     that the vendor can comply with only by hiring people and
  384.     paying them to try to accommodate the perceived needs of
  385.     the users.  Open architecture and programmability not only
  386.     benefits the user, not only makes a product better in the
  387.     technical and marketing sense, but confers a direct
  388.     economic advantage upon the vendor of such a product -- one
  389.     mirrored in a commensurate disadvantage to the vendor of a
  390.     closed product.
  391.  
  392. I first read these words at a time when, coincidentally, I was trying to
  393. work out a way for customers to program and extend Autodesk's first
  394. cyberspace developer's kit.  I'd considered several alternatives, and
  395. had concluded that a threaded approach made a great deal of sense for
  396. cyberspace.  Early on, I wanted to create a "cyberspace construction 
  397. kit," ala Apple's Hypercard, that would integrate simulation, multimedia
  398. techniques, and programming.  I'd built several small applications in
  399. Hypercard and I was greatly impressed with it, especially with its power
  400. to engender highly energized communities of creative artists.  
  401. Unfortunately, despite its many virtues, Hypercard left me frustrated 
  402. because it had several debilitating built-in limitations.
  403.  
  404. When I read Walker's Atlas document I could see he was getting at exactly
  405. the same thing as Bill Atkinson of Apple, the principal creator of
  406. Hypercard.  The major difference was that Walker was focused on enabling
  407. programmers whereas Atkinson was focused on enabling non-programmers. For
  408. cyberspace, I knew we would eventually need something like Hypercard, a
  409. construction kit that artists of various types can use, not just
  410. programmers.   But we were at the very beginning (as we still are), and it
  411. seemed to me that the best way to build a construction kit was to equip
  412. our third-party developers with industrial-strength, interactive, and
  413. fundamentally customizable tools.  Whereas Atkinson was constrained to
  414. develop Hypercard out of an infrastructure that was fundamentally closed,
  415. we could go the way Walker suggested and develop a construction kit that
  416. was fundamentally open, from the ground up. If our customers perceived 
  417. limitations then they would have all the power they needed to remove the
  418. limitations themselves.  They would never be stuck and helpless because
  419. we had overlooked something peculiar to their needs 
  420.  
  421. BEYOND FORTH
  422.  
  423. The only problem was Forth.  I was open to it because I'd worked fairly
  424. extensively in it in the past, mostly in videogames.  I knew it gives
  425. programmers unprecedented control and flexibility, but I was also keenly
  426. aware of its reputation as a quirky language that's "easy to write but
  427. hard to read."   Worse, it lacks many features C programmers consider 
  428. essential, like local variables, function arguments, and data structures. 
  429. It also lacks object-oriented features, a requirement that practically
  430. everyone agreed was essential for cyberspace programming.  The needs and
  431. sensibilities of C and C++ programmers are of paramount importance
  432. because the software industry today is dominated by C, and there is a
  433. clear trend toward C++.  So it was clear that an extensible macro language
  434. for Autodesk's cyberspace developer's kit must not only be compatible
  435. with C and C++; it must also be palatable to C and C++ programmers. 
  436. Forth, clearly, does not fit that bill.  I knew Walker was right about
  437. the power of Forth, but I also knew he couldn't sell it to C 
  438. programmers.  He tried, but it was too easy for nay-sayers to rattle off a
  439. litany of perceived deficiencies.
  440.  
  441. My idea was utterly simple:  augment Forth, systematically removing the
  442. deficiencies, while retaining the virtues, so that no one could object,
  443. on rational, technical, or marketing grounds, to Walker's ideal of a
  444. fundamentally open programming system.   Publicly, I stated that Trix's
  445. design goals were to "enable cyberspace development, give control to
  446. developers and customers, accommodate diversity, encourage
  447. experimentation, provide interactivitiy, and support object
  448. orientation."   Privately, however, the goal was mainly to augment Forth,
  449. to the satisfaction of C programmers.  I didn't mention this goal in
  450. public, until now, because I didn't want to risk offending my fellow
  451. Forth programmers.  To Forth purists, there is nothing wrong with
  452. Forth.  What it lacks, it lacks on purpose.  To them, nothing matters so
  453. much as simplicity.  As they say, Forth contains everything necessary,
  454. and nothing more.  I respect that minimalist aesthetic very much, and in
  455. fact I held steadfastly to it during the development of Trix.  Still, I
  456. knew it wasn't enough to build a system with the creative power and
  457. freedom of Forth.  Trix also had to be marketable, and that meant I had
  458. to implement those features, on top of Forth, which C and C++ programmers
  459. consider essential.
  460.  
  461. In the end, I created a programming system that is an amalgam of Forth,
  462. C++, and Lisp.  Even though the syntax is postfix, like Forth, it looks
  463. very much like C++.  Virtually all the features of C++ are implemented,
  464. though Trix presently supports only single inheritance.  Trix also
  465. includes a simple dialect of Lisp, and this could easily be extended, to
  466. implement dialects like AutoLisp or Scheme.  
  467.  
  468. THE OLD GAME
  469.  
  470. Let me emphasize once again that my purpose here is not to sell Trix.  It
  471. is Trix philosophy that's important to cyberspace, and there are many
  472. ways to implement that philosophy.  Languages are a lot like religions in
  473. that people become very devoted to them. Choices between languages often
  474. have more to do with personal styles, attitudes, and backgrounds than
  475. with technical merit.  My own feeling, reflected in Trix design and 
  476. philosophy, is that savvy information age companies should not, as far as
  477. possible, force their customers and third party companies to make
  478. exclusive choices.   Persuading people to give up the tools and languages
  479. they already use or prefer is like trying to convert people from one
  480. religion to another.  It can be done, but it is a very tough sell, and it
  481. serves to fragment rather than engender markets.
  482.  
  483. Yet that is precisely the game most software vendors now play.   Enormous
  484. energy and expense goes into "evangelizing" The Way We Do It.   The usual
  485. message is:  "Our way is the best, and here's why ... come join us ... we
  486. welcome you."   It is as if the software industry is divided into
  487. numerous opposing cultures, or camps, and the game is to get people to
  488. switch camps.  The way the game is usually played requires that customers
  489. give up one camp, including their investments of time, money, and
  490. identity, in order to join another one.  XYZ Company comes out with a
  491. new operating system or toolbox, for example, and mounts a massive
  492. campaign to win over software developers.   Much ado is made over the
  493. cool XYZ tools the developers will have at their disposal, but no mention
  494. is made of the fact that many developers will have to abandon tools and
  495. techniques they used previously, at huge cost ("Oh yeah, did we mention
  496. you MUST write in Pascal?").   It's like telling a Spaniard she can
  497. become an American on condition she never speak Spanish again.   
  498.  
  499. DE FACTO ANTI-STANDARD
  500.  
  501. To understand the significance of Trix philosophy you have to understand
  502. that Trix is a language designed to capitalize on a moment in the history
  503. of an emerging industry.  By way of comparison, Basic became a de facto
  504. standard in the personal computer industry in large part because it was
  505. introduced at a critical moment in that industry's early stages.  It had
  506. an enormous impact, setting not only a standard but also a tenor, a sort
  507. of aesthetic.  As McLuhan said, the medium is the message, and Basic
  508. preached a philosophy of exclusion:  "You will speak and do as I do." 
  509. Imagine the impact a language like Trix might have had, with its
  510. underlying organic and multicultural philosophy that says "You can adapt
  511. to any language or environment."
  512.  
  513. My vision for Trix was never to create a de facto standard for the
  514. cyberspace industry, but rather to create a de facto ANTI-standard that
  515. enables people to contend with and exploit diversity.   This may seem to
  516. be a prescription for anarchy to those playing the old game who believe
  517. companies should attempt to dominate by setting up a camp (a standard)
  518. and then cajoling as many people as possible to join it.  But Trix was
  519. not designed to help Autodesk dominate.  It was designed to help Autodesk
  520. thrive in an ever-changing, fast-paced, and increasingly diverse set of
  521. marketplaces.  Standards and dominant players will come and go, but
  522. those who survive will accept diversity as a fact of life.  Those who
  523. thrive will be adept at adapting to the ways and requirements of any
  524. market or situation that presents an opportunity.
  525.  
  526.  
  527.